1480B - The Great Hero - CodeForces Solution


greedy implementation sortings *900

Please click on ads to support us..

Python Code:

import math
t = int(input())
for _ in range(t):
    A, B, n = map(int, input().split())
    attack = list(map(int, input().split()))
    hp = list(map(int, input().split()))
    
    sum_mh = 0
    for i in range(n):
        sum_mh += attack[i] * math.ceil(hp[i] / A)
    for i in range(n):
        if (B - sum_mh + attack[i]) > 0:
            print("YES")
            break
    else:
        print("NO")

C++ Code:

#include <bits/stdc++.h>
using namespace std;
int main()
{
    int t;
    cin>>t;
    for(int i=0;i<t;i++)
    {
        int a,b,n;
        vector<pair<int,int>> vec;
        cin>>a>>b>>n;
        int power[n];
        int health[n];
        for(int i=0;i<n;i++)
        {cin>>power[i];
        }
        for(int i=0;i<n;i++)
        {cin>>health[i];
        }
        for(int i=0;i<n;i++)
        {
            vec.emplace_back(power[i],health[i]);
        }
        sort(vec.begin(),vec.end());
        //for(int i=0;i<n;i++)
            //cout<<vec[i].first<<" "<<vec[i].second<<endl;
            int j=0;
           while(b>0&&j!=n)
           {
               int c=vec[j].second/a;
               if(vec[j].second%a!=0)
                c=c+1;
                int k=b/vec[j].first;
                if(b%vec[j].first!=0)
                k=k+1;
                if(k<c)
                    break;
               b=b-c*vec[j].first;
               j++;
           }
           if(j==n)
            cout<<"YES\n";
            else
            cout<<"NO\n";
    }
}


Comments

Submit
0 Comments
More Questions

1632C - Strange Test
673A - Bear and Game
276A - Lunch Rush
1205A - Almost Equal
1020B - Badge
1353A - Most Unstable Array
770A - New Password
1646B - Quality vs Quantity
80A - Panoramix's Prediction
1354B - Ternary String
122B - Lucky Substring
266B - Queue at the School
1490A - Dense Array
1650B - DIV + MOD
1549B - Gregor and the Pawn Game
553A - Kyoya and Colored Balls
1364A - XXXXX
1499B - Binary Removals
1569C - Jury Meeting
108A - Palindromic Times
46A - Ball Game
114A - Cifera
776A - A Serial Killer
25B - Phone numbers
1633C - Kill the Monster
1611A - Make Even
1030B - Vasya and Cornfield
1631A - Min Max Swap
1296B - Food Buying
133A - HQ9+